package com.example.routeplansystem.service;

import com.example.routeplansystem.entity.dto.ResponseEntity;
import com.example.routeplansystem.entity.po.Question;

import java.util.List;
import java.util.Map;

public interface QuestionService {

    //添加问题：
    ResponseEntity<Integer> insertQuestion(Question question);

    //得到用户所有问题（包括执行过算法和没有执行过算法）
    ResponseEntity<List<Question>> getQuestions(int userId, Integer currentPage, Integer pageSize);

    //删除问题
    ResponseEntity<String> removeQuestion(int questionId);

    /**
     * 修改问题，其实就是修改问题的名称
     */
    void updateQuestion(Question question);

    /**
     * 复制问题，拥有对应quesition除了距离以外所有数据
     * @param questionId
     */
    void copyQuestion(int questionId) throws CloneNotSupportedException;

    Map<Integer, String> getExecutedAlgorithm(int questionId);

    Map<Integer, String> getExecutingAlgorithm(int questionId);

    Map<Integer, String> getNotExecuteAlgorithm(int questionId);
}
